Server: Netscape-Communications/1.1
Date: Wednesday, 20-Nov-96 23:24:28 GMT
Last-modified: Monday, 24-Jun-96 14:59:21 GMT
Content-length: 5156
Content-type: text/html

<HTML>
<HEAD>
<TITLE>CIS 510 Handout 1</TITLE>
<BODY><! BODY BGCOLOR = "#000000" TEXT = "#FFFFFF">
<BODY bgcolor="#FFEFDB">  <! AntiqueWhite1>
<H1><CENTER>CIS 510, Spring 96 </CENTER> <P>
<center>
COMPUTER AIDED GEOMETRIC DESIGN
</CENTER>
<CENTER>Course Information</CENTER>
<CENTER>January 9</CENTER></H1>
<P>
<H4>
<H2>Coordinates:</H2> Moore 224, MW 12-1:30
<P>
<H2>Instructor:</H2> <!WA0><A HREF="mailto:jean@saul.cis.upenn.edu">Jean H. 
Gallier</A>, MRE 176, 8-4405, jean@saul <P>
<H2>Office Hours:</H2> 2:00-3:00 Tuesday, Thursday, 2:00-3:00, Friday
<P>
<H2>Teaching Assistant:</H2>
TBA <p>
<H2>Office Hours:</H2> TBA<P>
<h2> Prerequesites:</h2>
Basic knowledge of linear algebra, calculus,
and elementary geometry 
<br>
(CIS560  NOT required).
<H2>Textbooks (not required):</H2> <I>Computer Aided Geometric Design </I>
Hoschek, J. and Lasser, D.,  AK Peters, 1993<br>
<BR>Also recommended:<BR>
<BR><I>Curves and Surfaces for Computer Aided Geometric Design</I>,
D. Wood, Wiley<br>
<P>
<H2>Grades:</H2>
<P>
 Problem Sets (3 or 4 of them) and a project
<ul>
<li><!WA1><a
    href="http://www.cis.upenn.edu/~jean/geom96hm1.dvi.Z"> Homework1 </a>
<li><!WA2><a
    href="http://www.cis.upenn.edu/~jean/geom96hm2.dvi.Z"> Homework2 </a>
<li><!WA3><a
    href="http://www.cis.upenn.edu/~jean/geom96hm3.dvi.Z"> Homework3 </a>
</ul>
<P>
<H2>Brief description:</H2>
A more appropriate name for the course would be 
<h2><center>
Curves and Surfaces for Computer Aided Geometric Design</center></h2>
or perhaps
<h2><center>
Mathematical Foundations of Computer Graphics</center></h2>
(as CS348a is called at Stanford University).
The course should be of interest to anyone who likes 
geometry (with an algebraic twist)!<p>

Basically, the course will be about mathematical techniques 
used for geometric design in computer graphics 
(but also in robotics, vision, and computational geometry).
Such techniques are used in 2D and 3D drawing and plot, object silhouettes,
animating positions, product design (cars, planes, buildings),
topographic data, medical imagery, active surfaces of proteins,
attribute maps (color, texture, roughness), weather data, art(!), ... .
Three broad classes of problems will be considered: <p>

<ul>
<li> <em> Approximating</em> curved shapes, using smooth curves or surfaces.
<li> <em> Interpolating</em> curved shapes, using smooth curves or surfaces.
<li>  <em> Rendering</em> smooth curves or surfaces. <p>
</ul> <p>
     
Specific topics include: basic geometric  material
on affine spaces and affine maps.
Be'zier curves will be introduced ``gently'', in terms of
multiaffine symmetric polar forms, also known as ``blossoms''.
We will begin with degree 2, move up to degree 3,
giving lots of examples, and derive the fundamental
``de Casteljau algorithm'', and show where the Bernstein
polynomials come from.
Then, we will consider polynomial curves
of arbitrary degree. It will be shown how a construction
embedding an affine space into a vector space, where points
and vectors can be treated uniformly, together with polar forms, 
yield a very elegant and effective treatment of tangents and
osculating flats. The conditions for joining polynomial curves
will be derived using polar forms, and this will lead to
a treatment of B-splines in terms of polar forms. In particular,
the de Boor algorithm will be derived as a natural extension of
the de Casteljau algorithm. 
Rectangular (tensor product) Be'zier surfaces, and triangular
Be'zier surfaces will also be introduced using polar forms,
and the de Casteljau algorithm will be derived.
Subdivision algorithms and their application to
rendering will be discussed extensively.
Joining conditions will be derived
using polar forms. <p>

Using the embedding
of an affine space into a vector space, we will contruct the
projective completion of an affine space, and show how
rational curves can be dealt with as central projections
of polynomial curves, with appropriate generalizations
of the de Casteljau algorithm. <p>

Rational surfaces will be obtained as central projections
of polynomial surfaces.  
If time permits, NURBS and
geometric continuity will be discussed.
This will require a little bit of 
differential geometry. <p>

A class-room treatment of curves and surfaces in terms of polar forms
is rather new (although
used at Stanford by Leo Guibas and Lyle Ramshaw),  but should be 
illuminating and exciting.
Since books (even recent) do not follow such an approach,
I have written extensive course notes, which  will be available. <p>

I will mix assignments not involving programming, and
small programming projects.
There are plenty of opportunities for trying out
the algorithms presented in the course. In particular,
it is fairly easy to program many of these algorithms in Mathematica
(I have done so, and I'm not such a great programmer!). <p>

At the end of the course, you will know how to write your <em> own </em>
algorithms to display the half Klein bottle shown below.<p>
<!WA4><a href="http://www.cis.upenn.edu/~jean/klein5.ps.Z"> Half Klein bottle</a><p> 
<P>
</UL>
<P>
<I>published by:
<H2><!WA5><A HREF="mailto:jean@saul.cis.upenn.edu">Jean Gallier</A></H2>
</H4>
<BODY>
<HTML>

